//app.js
App({
  onLaunch: function () {
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
      wx.cloud.init({
        // env 参数说明：
        //   env 参数决定接下来小程序发起的云开发调用（wx.cloud.xxx）会默认请求到哪个云环境的资源
        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
        //   如不填则使用默认环境（第一个创建的环境）
        // env: 'my-env-id',
        traceUser: true,
      })
    }

    this.globalData = {}
  },
  autoUpdate: function () {
    let _this = this
    if (wx.canIUse('getUpdateManager')) {
      const updateManager = wx.getUpdateManager()
      updateManager.onCheckForUpdate(function (res) {
        if (res.hasUpdate) {
          wx.showModal({
            title: '更新提示',
            showCancel: false,
            content: '检测到新版本，是否下载新版本并重启小程序',
            success: function (res) {
              if (res.confirm) {
                _this.downLoadAndUpdate(updateManager)
              } else if (res.cancel) {
                wx.showModal({
                  title: '提示',
                  content: '本次版本更新涉及到新功能的添加，旧版本将无法正常使用',
                  showCancel: false,
                  confirmText: '确认更新',
                  success: function (res) {
                    if (res.confirm) {
                      _this.downLoadAndUpdate(updateManager)
                    }
                  }
                })
              }
            }
          })
        }
      })
    } else {
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低，无法使用该功能，请升级到最新微信版本后重试',
      })
    }
  },
  downLoadAndUpdate: function (updateManager) {
    const that = this;
    wx.showLoading({
      title: '更新版本中...',
    })
    updateManager.onUpdateReady(function () {
      that.checkUser();
      wx.hideLoading();
      updateManager.applyUpdate()
    })
    updateManager.onUpdateFailed(function () {
      wx.hideLoading();
      wx.showModal({
        title: '版本更新失败',
        content: '新版本更新失败，请删除当前小程序，重新搜索打开',
      })
    })
  }
})